Optical systems use binary line coding for digital transmissions, and scramble data that will be transmitted to ensure a random distribution of logical ones and zeroes to maintain line synchronization. Such scrambling also ensures that so-called pseudo-random, non-random sequence frequency components are removed from the transmitted stream of data as a way of improving the transmission signal-to-noise ratio.
As is well-known, an absence of incoming logical ones (or zeroes) for an appreciable amount of time, e.g., 2.3 μs, could cause a receiver to lose such synchronization. Some data systems, e.g., a Synchronous Optical NETwork SONET), deal with this problem, by generating a particular pattern of logical ones and zeroes and combining the logical pattern with a user's bit stream so that an appropriate mix of such ones and zeroes are transmitted over the transmission medium. The particular pattern that is combined with the user's bit stream is called a scramble. At the opposite end of the transmission medium, a receiver combines with the transmitted bit stream with the particular pattern to recover the user's data. The particular pattern, more particularly, is generated at the transmitter and supplied to one input of an “Exclusive Or” circuit, and the user data is supplied to another input of the circuit. The output of the Exclusive Or is transmitted to the destination receiver which detects the incoming ones and zeroes forming the incoming data and supplies the latter to another “Exclusive Or” circuit to recover the user's data. When there is an absence of user data to send at the transmitter, then the “Exclusive Or” outputs the aforementioned pattern, which is transmitted to the receiver, which uses the received data to maintain synchronization necessary for accurate detection of incoming ones and zeroes forming the pattern. Similarly, the receiver performs an Exclusive Or between the detected incoming data and the aforementioned particular pattern, and outputs a stream of zeroes, which is the result of the same signal pattern of ones and zeroes that is supplied to both inputs of Exclusive Or. Thus, a sufficient stream of data is transmitted to the receiver to allow the receiver to maintain the synchronization necessary to detect accurately incoming ones and zeroes whenever there is absence of user data to transmit.
Disadvantageously, as will be detailed below, such synchronization may be disrupted even though such scrambling is being used in SONET, as may happen when a user's packet is larger than the scrambler period. For example, a user, inadvertently or otherwise, could insert the scrambler pattern in the user's datagram, and if such bits are aligned with the scrambler pattern, then the Exclusive Or would output a stream of zeroes, which could cause the system to declare a loss of signal or a loss of timing.
In prior data systems, e.g., a SONET system implementing the well-known HDLC protocol, the boundaries of a datagram, or data packet containing user data are marked by leading and trailing flags having a predetermined pattern, as is shown in FIG. 1, in which flags 10 and 12 define the start and end of packet 11. Such systems recognize that user data could contain a series of ones and zeroes defining a flag—which could cause a receiver encountering such an incorrect flag to mistakenly conclude that the incoming datagram/packet ends at that point. The receiver may also conclude mistakenly that the succeeding data belongs to a next datagram/packet.
To deal with this problem, prior systems check each byte of user data and change each user byte resembling a flag to a so-called user flag 13 (UFLG) by appending dummy bits to the byte. A receiver, in turn, strips off the added bits. It can be appreciated that the task of checking each byte of user data to determine if it resembles a boundary flag is indeed a waste of system resources. Moreover, it is very difficult to perform such checking at very high data rates, e.g., a data rate of 2.5 Gbps.
Moreover, data systems, especially data systems which transmit and receive via the Internet, do not currently provide a mechanism that differentiates between different data services so that the transmission of data may be engineered on a Quality of Service basis (QoS) for multimedia traffic, including, e.g., data characterizing video, audio, voice, etc. For the most part, the Internet treats data associated with different services the same.